package com.yydream.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yydream.common.utils.R;
import com.yydream.dto.SysUserDTO;
import com.yydream.dto.SysUserPageDTO;
import com.yydream.dto.SysUserPageParamsDTO;
import com.yydream.dto.UserRelationRoleDTO;
import com.yydream.entity.SysUserEntity;

/**
 * 用户表;(sys_user)表服务接口
 * @author : http://www.chiner.pro
 * @date : 2024-6-17
 */
public interface SysUserService extends IService<SysUserEntity> {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    R queryById(Long id);

    R listPage(SysUserPageParamsDTO req);

    /**
     * 新增数据
     *
     * @param sysUser 实例对象
     * @return 实例对象
     */
    R insert(SysUserDTO sysUser);
    /**
     * 更新数据
     *
     * @param sysUser 实例对象
     * @return 实例对象
     */
    R update(SysUserDTO sysUser);
    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    R deleteById(Long[] id);

    R userRelationRole(UserRelationRoleDTO userRelationRoleDTO);

    R userRelationRoleByUserId(Integer userId);

    R userInfo();
}